====
6 优先级反转问题在嵌入式系统中是一中严重的问题，必须给与足够重视。
a) 首先请解释优先级反转问题
b) 很多RTOS提供优先级继承策略(Priority inheritance)和优先级天花板策略(Priority ceilings)用来解决优先级反转问题，请讨论这两种策略。
答：
    优先级反转：高优先级任务被低优先级任务阻塞，导致高优先级任务迟迟得不到调度。但其他中等优先级的任务却能抢到CPU资源。从现象上来看，好像是中优先级的任务比高优先级任务具有更高的优先权。
    具体来说，当高优先级任务正等待信号量（此信号量被一个低优先级任务拥有着）的时候，一个介于两个任务优先之间的中等优先级任务开始执行，这就会导致一个高优先级任务在等待一个低优先级任务，而低优先级任务却无法执行类似死锁的情形发生。
    优先级继承策略：进程调度算法对获取到临界资源的进程(A)增加其优先级为所有等待该资源的进程中的最高优先级。一旦进程(A)释放了该资源，就恢复到原来的优先级。
    优先级天花板策略：给每个信号量设置一个优先级天花板，优先级天花板的值大于所有使用该信号的任务的优先级，当某个任务得到该信号量时，将其优先级置为优先级天花板的值。
权重：中
备注：平常编程时用不到，但需要了解运行原理，类似的还有内存管理的原理。

====
18.操作系统采用缓冲技术，能够减少CPU（A）次数，从而提高资源的利用率。
A 中断
B 访问
C 控制
D 依赖
解析：
引入缓冲的主要原因包括：缓和CPU与I/O设备间速度不匹配的矛盾；减少对CPU的中断频率，放宽对中断响应时间的限制；提高CPU和I/O设备之间的并行性。所以采用缓冲技术，可减少对CPU的中断次数，从而提高系统效率。
权重：中

====
11. uClinux 和linux的区别（或者说rtos和linux的区别）
对uCLinux来说，其设计针对没有MMU的处理器，不能使用处理器的虚拟内存管理技术。uCLinux仍然采用存储器的分页管理，系统在启动时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没有MMU管理，所以实际上uCLinux采用实存储器管理策略。uCLinux系统对于内存的访问是直接的，所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护，各个进程实际上共享一个运行空间。
权重：较高

====
14. Linux图形系统有哪些?
X Window、SVGALib、FrameBuffer、LibGGI、QT
权重：较低

====
c) 中断(interrupt,如键盘中断)与异常(exception,如除零异常)有何区别?
异常：在产生时必须考虑与处理器的时钟同步，实践上，异常也称为同步中断。在处理器执行到由于编程失误而导致的错误指令时，或者在执行期间出现特殊情况(如缺页)，必须靠内核处理的时候，处理器就会产生一个异常。
所谓中断应该是指外部硬件产生的一个电信号，从cpu的中断引脚进入，打断cpu当前的运行；
所谓异常，是指软件运行中发生了一些必须作出处理的事件，cpu自动产生一个陷入来打断当前运行，转入异常处理流程。
权重：中

====
6 优先级反转问题在嵌入式系统中是一中严重的问题，必须给与足够重视。
a) 首先请解释优先级反转问题
b) 很多RTOS提供优先级继承策略(Priority inheritance)和优先级天花板策略(Priority ceilings)用来解决优先级反转问题，请讨论这两种策略。
答：
高优先级任务需要等待低优先级任务释放资源，而低优先级任务又正在等待中等优先级任务的现象叫做优先级反转
  优先级继承策略(Priority inheritance):继承现有被阻塞任务的最高优先级作为其优先级，任务退出临界区，恢
复初始优先级。
  优先级天花板策略(Priority ceilings):控制访问临界资源的信号量的优先级天花板。
  优先级继承策略对任务执行流程的影响相对教小，因为只有当高优先级任务申请已被低优先级任务占有的临界资源
这一事实发生时，才抬升低优先级任务的优先级。
权重：中

====
5、进程调度策略。
先进先出算法，最短CPU运行期优先调度算法，轮转法，多级队列方法
权重：较高

====
3、进程间通讯机制有哪些？
答：linux下使用的进程间通信的方式主要有：管道和有名管道，信号，消息队列，共享内存，信号量，套接字。
权重：较高

====
4、比较一下进程和线程的区别？
 （1）、调度：线程是CPU调度和分派的基本单位
 （2）、拥有资源：
  *  进程是系统中程序执行和资源分配的基本单位
  *  线程自己一般不拥有资源（除了必不可少的程序计数器，一组寄存器和栈），但他可以去访问其所属进程的资源，
     如进程代码，数据段以及系统资源（已打开的文件，I/O设备等）。
 （3）系统开销：
  *  同一进程中的多个线程可以共享同一地址空间，因此它们之间的同步和通信的实现也比较简单
  *  在进程切换的时候，涉及到整个当前进程CPU环境的保存以及新被调度运行的进程的CPU环境的设置；
     而线程切换只需要保存和设置少量寄存器的内容，并不涉及存储器管理方面的操作，从而能更有效地使用系统资源和
     提高系统吞吐量。
权重：较高

====
21：进程和线程的区别：
    1：调度：线程作为调度和分配的基本单元，进程作为拥有资源的基本单位；
    2：并发性：不仅进程可以并发执行，同一进程内的线程也可以并发执行。
    3：拥有资源：进程是拥有资源的基本独立单元，线程不拥有资源，但可以访问进程内的资源；
    4：在创建或撤销线程时，由于系统都要为之分配和回收内存资源，导致系统的开销明显大于创建或撤销线程时的开销。
权重：较高

====
5、死锁的四个条件及处理方法。
　　  (1)互斥条件：一个资源每次只能被一个进程使用。
    (2) 请求与保持条件：一个进程因请求资源而阻塞时，对已获得的资源保持不放。 
    (3)不剥夺条件:进程已获得的资源，在末使用完之前，不能强行剥夺。
    (4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。  
　　    解决死锁的方法分为死锁的预防，避免，检测与恢复三种 
权重：高

===
9、中断的概念？简述中断的过程。
可以描述一下isr、dsr，中断上半部、中断下半部，软中断
权重：较高

====
3.描述实时系统的基本特性
       在特定时间内完成特定的任务，实时性与可靠性。
权重：高

====
8．谈谈IA32下的分页机制
小页(4K)两级分页模式，大页(4M)一级
权重：低
备注：内存分页





